# 数据分析题目解答(建议先赞后看，养成习惯 如果不赞，先拉出去枪毙两分钟 作者：小匠IT)
import pandas as pd
from matplotlib.font_manager import FontProperties
import os

# 设置中文字体路径（请根据实际路径调整）
font_path = r'fonts/SIMSUN.TTC'
font_prop = FontProperties(fname=font_path)

# 输入数据
data = {
    '客服名称': ['叶子', '小雪', '璇儿', '舟舟', '琪琪', '团团', '可儿'],
    '客服未回复人次': [2, 0, 1, 1, 1, 1, 10],
    '客服答问比': [1.01, 1.20, 0.90, 0.98, 1.05, 1.18, 0.35],
    '客服回复率%': [99.80, 100.00, 99.00, 95.00, 99.90, 99.50, 50.00],
    '平均响应时长': [51.20, 45.00, 56.90, 60.00, 61.00, 62.00, 49.70]
}

df = pd.DataFrame(data)

# 添加是否出现客服未回复列
df['是否出现客服未回复'] = df['客服未回复人次'].apply(lambda x: '是' if x > 0 else '否')

# 排序并添加排序序号
df_sorted_answer_ratio = df.sort_values(by='客服答问比', ascending=False).reset_index(drop=True)
df_sorted_reply_rate = df.sort_values(by='客服回复率%', ascending=False).reset_index(drop=True)
df_sorted_response_time = df.sort_values(by='平均响应时长').reset_index(drop=True)

# 创建新的排序表
sorted_df = df[['客服名称']].copy()
sorted_df['是否出现客服未回复'] = df['是否出现客服未回复']

# 填充排序序号
sorted_df['客服答问比降序排序'] = df_sorted_answer_ratio.reset_index().index + 1
sorted_df['客服回复率降序排序'] = df_sorted_reply_rate.reset_index().index + 1
sorted_df['平均响应时长升序排序'] = df_sorted_response_time.reset_index().index + 1

# 输出结果到文件
output_folder = r'output/47'
os.makedirs(output_folder, exist_ok=True)
output_excel_file = os.path.join(output_folder, '客服个体服务数据排序表.xlsx')

with pd.ExcelWriter(output_excel_file, engine='xlsxwriter') as writer:
    sorted_df.to_excel(writer, sheet_name='排序表', index=False)

print(f"\n包含排序结果的新 Excel 文件已保存到 {output_excel_file}")

# 简答题：对客服“可儿”的个人服务能力进行分析，并提出其需要提升的薄弱环节
analysis_of_keer = (
    "客服“可儿”的个人服务能力分析如下：\n"
    "1. **客服未回复人次高**：可儿有10次未回复记录，这在所有客服中是最高的。未回复次数高会导致客户不满，影响整体服务质量。\n"
    "2. **客服答问比低**：可儿的客服答问比仅为0.35，在所有客服中最低。这表明她回答的问题数量相对较少，可能是因为未能有效处理客户问题。\n"
    "3. **客服回复率低**：可儿的客服回复率为50%，远低于其他客服。这意味着有一半的客户咨询没有得到及时回复，这对客户体验有很大负面影响。\n"
    "4. **平均响应时长适中**：可儿的平均响应时长为49.7秒，虽然不是最短，但考虑到她的其他指标，这一时长仍然显得较长。\n\n"
    "针对上述情况，可儿需要重点提升以下方面：\n"
    "1. **提高回复及时性**：减少未回复次数，确保每位客户的咨询都能得到及时回应。可以通过增加培训、优化工作流程或引入自动化工具来实现。\n"
    "2. **增强问题解决能力**：提高客服答问比，确保能够更有效地解答客户问题。可以考虑加强专业知识培训，提供更多的支持资源。\n"
    "3. **改善沟通技巧**：提高客服回复率，通过更好的沟通技巧和客户服务态度，确保客户感到被重视和理解。\n"
    "4. **持续监控与改进**：定期评估客服绩效，识别并解决潜在问题，不断优化服务水平。\n"
)

print(analysis_of_keer)